BicolanoMT: a Formalization of Multi-Threaded Java at Bytecode Level
نویسنده
چکیده
This paper describes a formalization of multi-threaded Java bytecode in Coq. The formalization builds on the existing Bicolano formalization for sequential Java bytecode – which captures basically all aspects of sequential bytecode supported by the CLDC (Java for mobile phones) platform. We use a special extension framework to extend the existing formalization in a systematic way. The formalization is complete: it models all aspects related to concurrency: monitors, thread start and completion, the wait-notify mechanism and the interrupt mechanism, and it does not require any transformation of the bytecode. The formalization is developed to be suited for program verification and static analysis.
منابع مشابه
Evaluation of Different Multithreaded and Multicore Processor Configurations for SoPC
Multicore processors get more and more popular, even in embedded systems. Unfortunately, these types of processors require a special kind of programming technique to offer their full performance, i.e. they require a high thread-level parallelism. In this paper we evaluate the performance of different configurations of the same processor core within an SoPC: a single threaded single core, a mult...
متن کاملList of Authors
Inline reference monitoring is a powerful technique to enforce secu-rity policies on untrusted programs. The security-by-contract paradigmproposed by the EU FP6SMS project uses policies, monitoring, andmonitor inlining to secure third-party applications running on mobiledevices. The focus of this paper is on multi-threaded Java bytecode.An important consideration is that...
متن کاملMachine Assisted Reasoning for Multi -Threaded Java Bytecode
In this thesis an operational semantics for a subset of the Java Virtual Machine (JVM) is developed and presented. The subset contains standard operations such as control flow, computation, and memory management. In addition, the subset contains a treatment of parallel threads of execution. The operational semantics are embedded into a μ-calculus based proof assistant, called the VeriCode Proof...
متن کاملEffective Inline-Threaded Interpretation of Java Bytecode Using Preparation Sequences
Inline-threaded interpretation is a recent technique that improves performance by eliminating dispatch overhead within basic blocks for interpreters written in C [11]. The dynamic class loading, lazy class initialization, and multi-threading features of Java reduce the effectiveness of a straight-forward implementation of this technique within Java interpreters. In this paper, we introduce prep...
متن کاملA Translator from BML annotated Java Bytecode to BoogiePL
The goal of this master project is to extend an existing formalization of a translation from Java bytecode to BoogiePL and to provide an implementation for that formalization. Possible improvements to the existing translation thereby include the extension of the set of bytecode instructions supported by the formalization as well as the the translation of various semantic properties of the Java ...
متن کامل